#include <iostream>

class Cube
{
public:
    // 设置长
    void setL(int l)
    {
        m_L = l;
    }
    // 获取长
    int getL()
    {
        return m_L;
    }
    // 设置宽
    void setW(int w)
    {
        m_W = w;
    }
    // 获取宽
    int getW()
    {
        return m_W;
    }
    // 设置高
    void setH(int h)
    {
        m_H = h;
    }
    // 获取高
    int getH()
    {
        return m_H;
    }
    // 获取面积
    int getArea()
    {
        return 2 * m_L * m_W + 2 * m_L * m_H + 2 * m_W * m_H;
    }
    // 获取体积
    int getVolume()
    {
        return m_L * m_W * m_H;
    }
    // 利用成员函数判断立方体是否相等
    bool isSame(Cube &c)
    {
        if (m_L == c.m_L && m_W == c.m_W && m_H == c.m_H)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
private:
    // 立方体属性
    int m_L;    // 长
    int m_W;    // 宽
    int m_H;    // 高
};

// 利用全局函数判断立方体是否相等
bool isSame(Cube &c1, Cube &c2)
{
    if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH())
    {
        return true;
    }
    else
    {
        return false;
    }
}

int main()
{
    Cube c1;
    c1.setL(10);
    c1.setW(10);
    c1.setH(10);

    Cube c2;
    c2.setL(10);    
    c2.setW(20);
    c2.setH(10);

    isSame(c1, c2) ? std::cout << "c1 and c2 are same" << std::endl : std::cout << "c1 and c2 are not same" << std::endl;
    c1.isSame(c2) ? std::cout << "c1 and c2 are same" << std::endl : std::cout << "c1 and c2 are not same" << std::endl;
    return 0;
}